SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TMDOCU_CL02_I01]    
/*-------------------------------------------------------*/    
/*---Empresa              : OFISIS S.A.                --*/    
/*---Cliente              : OFISIS                 --*/    
/*---Sistema              : Tesoreria                  --*/    
/*---M©dulo               : Empresa                    --*/    
/*---Programa             : Grabaci©n Doc.Clientes     --*/    
/*---                       M®dulo Tesoreria y Ventas  --*/    
/*---Script               : tcmovi_b.sql               --*/    
/*---Nombre SP            : SP_TMDOCU_CL02_I01         --*/    
/*---Desarrollado por     : Javier Flores A.           --*/    
/*---Fecha Creaci©n       : 14/03/2000                 --*/    
/*---Base Datos           : Microsoft Sql Server       --*/    
/*---Versi©n              : 7.0                        --*/    
/*---Invoca a SP          :                            --*/    
/*-------------------------------------------------------*/    
    
/*-------------------------------------------------------*/    
/*---Modificado 1 por     : Maribel Julca Rodriguez      --*/    
/*---Fecha Modificaci©n   : 20/04/2005                   --*/     
/*---Detalle Modificaci©n : ingreso de los campos CO_USUA_CREA Y CO_USUA_MODI                           --*/    
/*-------------------------------------------------------*/    
    
/*-------------------------------------------------------*/    
/*---Comentarios                                       --*/    
/*---                                                  --*/    
/*---                                                  --*/    
/*-------------------------------------------------------*/    
    
/*-------------------------------------------------------*/    
/*---Drop Proc SP_TMDOCU_CL02_I01                      --*/    
/*---Grant all on SP_TMDOCU_CL02_I01 to public         --*/     
/*---SP_TMDOCU_CL02_I01                                --*/    
/*-------------------------------------------------------*/    
 @ISCO_EMPR      TD_VC_002,     
 @ISCO_USUA_MODI TD_VC_008_USUA,    
 @ISCO_TIPO_DOCU TD_VC_003,     
 @ISNU_DOCU_CLIE TD_VC_020,     
 @ISCO_CLIE      TD_VC_020,    
 @ISNO_CLIE      TD_VC_100,    
 @ISCO_MONE      TD_VC_003,     
 @ISCO_TIPO_OPER TD_VC_003,     
 @ISCO_COND_PAGO TD_VC_003,      
 @IDFE_EMIS      TD_DT_001,     
 @ISCO_UNID_CONC TD_VC_003,     
 @IDFE_VENC      TD_DT_001,    
 @IDFE_PROG_COBR TD_DT_001,    
 @IDFE_DESP   TD_DT_001,    
 @INFA_TIPO_CAMB TD_NU_015_006,     
 @INIM_BRUT_AFEC TD_NU_016_004,    
 @INIM_BRUT_INAF TD_NU_016_004,     
 @ISCO_IMP1      TD_VC_003,     
 @INPC_IMP1      TD_NU_009_004,     
 @INIM_IMP1      TD_NU_016_004,     
 @INIM_TOTA      TD_NU_016_004,     
 @INIM_PAGA_REND TD_NU_016_004,     
 @ISCO_TIDO_ORIG TD_VC_003,     
 @ISNU_DOCU_ORIG TD_VC_020,    
 @IDFE_DOCU_ORIG TD_DT_001,     
 @ISDE_OBSE      TD_VC_100,     
 @ISCO_VEND      TD_VC_020,    
 @ISCO_LIQU      TD_VC_008,    
 @ISTI_FACT      TD_VC_003,    
 @ISCO_MODE_DIST TD_VC_003,    
 @ISST_ASTO_RESU TD_VC_001
	As
DECLARE     
@VSTI_CLIE  TD_VC_003,     
@VSNU_ASTO  TD_VC_020,    
@VSST_INTE_BACH TD_VC_001    
    
    
Begin Tran SP_TMDOCU_CL02_I01    
    
  Select @VSST_INTE_BACH = ST_INTE_BACH    
  From TMPARA_TESO Where CO_EMPR = @ISCO_EMPR    
    
    
    If Not Exists(Select *     
    From   TMDOCU_CL02     
    Where  CO_EMPR = @ISCO_EMPR    
    And CO_CLIE = @ISCO_CLIE    
       And CO_TIPO_DOCU = @ISCO_TIPO_DOCU    
                  And NU_DOCU_CLIE = @ISNU_DOCU_CLIE)     
       Begin    
    
   Select @VSTI_CLIE = T1.TI_CLIE       From  TMAUXI_EMPR T1, TMPARA_TESO T2    
   Where  T1.CO_EMPR = @ISCO_EMPR    
   And T1.CO_EMPR = T2.CO_EMPR    
   And T1.TI_AUXI_EMPR = T2.CO_TIAU_CLIE    
   And T1.CO_AUXI_EMPR = @ISCO_CLIE    
    
    
    /*Busco el ultimo correlativo usado para insertar el nro de comprobante*/     
    If @VSST_INTE_BACH = 'N' AND @ISST_ASTO_RESU = 'N'         
  EXEC SP_TTULTI_ASTO_Q01 @ISCO_EMPR, @ISCO_USUA_MODI, @ISCO_UNID_CONC, @ISCO_TIPO_OPER, @IDFE_EMIS, @VSNU_ASTO OUTPUT    
    
  Insert Into TMDOCU_CL02(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_MONE, CO_TIPO_OPER, CO_COND_PAGO,   
 FE_EMIS, CO_UNID_CONC, FE_VENC, FE_PROG_COBR, FE_DESP, FA_TIPO_CAMB, IM_BRUT_AFEC, IM_BRUT_INAF,     
 CO_IMP1, PC_IMP1, IM_IMP1, IM_TOTA, IM_PAGA, TI_DOCU_ORIG, NU_DOCU_ORIG, FE_DOCU_ORIG, DE_OBSE,CO_ESTA_DOCU,   
 CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI, CO_VEND, CO_LIQU, TI_FACT, CO_MODE_DIST, TI_CLIE, NU_ASTO)    
  Values  ( @ISCO_EMPR,  @ISCO_TIPO_DOCU, @ISNU_DOCU_CLIE, @ISCO_CLIE, @ISCO_MONE, @ISCO_TIPO_OPER, @ISCO_COND_PAGO,   
 @IDFE_EMIS, @ISCO_UNID_CONC, @IDFE_VENC, @IDFE_PROG_COBR, @IDFE_DESP, @INFA_TIPO_CAMB, @INIM_BRUT_AFEC,    
 @INIM_BRUT_INAF, @ISCO_IMP1, @INPC_IMP1, @INIM_IMP1, @INIM_TOTA, @INIM_PAGA_REND, @ISCO_TIDO_ORIG, @ISNU_DOCU_ORIG,    
 @IDFE_DOCU_ORIG, @ISDE_OBSE, 'ACT', @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE(), @ISCO_VEND, @ISCO_LIQU, 
@ISTI_FACT, @ISCO_MODE_DIST, @VSTI_CLIE, @VSNU_ASTO)    
    
         If @@error <> 0    
            Begin    
              Rollback tran    
              Return    
            End        
    
      End    
    Else    
      Begin    
        Update  TMDOCU_CL02    
        Set  CO_MONE = @ISCO_MONE,    
  CO_COND_PAGO = @ISCO_COND_PAGO,    
  FE_EMIS = @IDFE_EMIS,    
  FE_VENC = @IDFE_VENC,    
  FE_PROG_COBR = @IDFE_PROG_COBR,    
  FE_DESP = @IDFE_DESP,     
  FA_TIPO_CAMB = @INFA_TIPO_CAMB,    
  IM_BRUT_AFEC = @INIM_BRUT_AFEC,    
  IM_BRUT_INAF = @INIM_BRUT_INAF,    
  CO_IMP1 = @ISCO_IMP1,    
  PC_IMP1 = @INPC_IMP1,    
  IM_IMP1 = @INIM_IMP1,    
  IM_TOTA = @INIM_TOTA,    
  TI_DOCU_ORIG = @ISCO_TIDO_ORIG,    
  NU_DOCU_ORIG = @ISNU_DOCU_ORIG,    
  FE_DOCU_ORIG = @IDFE_DOCU_ORIG,    
  DE_OBSE =  RTRIM(@ISDE_OBSE),    
  CO_UNID_CONC  = @ISCO_UNID_CONC,    
  CO_VEND = @ISCO_VEND,    
  CO_LIQU = @ISCO_LIQU,    
  TI_FACT = @ISTI_FACT,                               
  CO_USUA_MODI =  @ISCO_USUA_MODI,    
  FE_USUA_MODI  = Getdate()    
  Where   CO_EMPR = @ISCO_EMPR    
  And CO_CLIE = @ISCO_CLIE    
  And CO_TIPO_DOCU = @ISCO_TIPO_DOCU    
  And NU_DOCU_CLIE = @ISNU_DOCU_CLIE    
    
        If @@error <> 0    
           Begin    
             Rollback tran    
             Return    
           End        
    
              End            
    
    
Commit Tran    
    
/*-------------------------- Fin ------------------------------*/


GO
